package com.etc.iodemo;

import java.io.File;

/**
 * @author: knowno
 * @create: 2024-09-11 15:40
 * @Version 1.0
 **/
public class TestShowFile {

    public static void main(String[] args) {
        //File类
        //原始路径，创建一个File
        File file = new File("C:\\");
        // 调用方法
        showFiles(file);
    }

    /**
     * @param file
     */
    public static void showFiles(File file) {
        //首先判断这个对象是否 为null,是否存在
        if (file != null && file.exists()) {
            //查看这个file对象指向的磁盘路径,是一个文件还是一个目录
            if (file.isDirectory()) {
//                System.out.println("Directory");
                //遍历这个directory下的目录和文件 =>listFiles =>File[]
                File[] files = file.listFiles();
                if (files != null) {
                    //遍历数组
                    for (File f : files) {
                        //如果是文件，直接输出
                        if (f.isFile()) {
                            System.out.println(f.getAbsolutePath());
                        } else {
                            //如果是目录，再调用showFiles方法递归
                            showFiles(f);
                        }
                    }
                }
            } else {
                System.out.println("File");
            }
        }

    }
}
